Organizations often use Extensible Markup Language (XML) for exchanging structured data between applications. XML data is typically stored in relational databases. However, the traditional searching of data within XML data stored in the relational databases is very slow. Moreover, this XML data requires constant monitoring by adding a new index every time performance degrades. Additionally, when the amount of XML data stored in the relational database exceeds a threshold (for example, 100,000 documents), the time taken by a search query to retrieve search results becomes undesirably high.